package com.itheima.demo01;


import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class XmlDemo01 {
    public static void main(String[] args) throws DocumentException {
        //创建解析器Document对象,用来加载xml文件
        SAXReader saxReader = new SAXReader();
        //利用解析器对象,加载一个xml文件,得到一个文本对象
        Document document = saxReader.read(new File("test-xml\\xml\\student.xml"));
        //获取根标签对象
        Element rootElement = document.getRootElement();
        //获取子标签对象
        //elements();可以获取调用者所有的子标签,会把这些标签放在一个集合中返回

        //List list = rootElement.elements();
        List<Element> list = rootElement.elements("student");
        //System.out.println(list.size());

        ArrayList<Student> arrayList = new ArrayList<>();

        //遍历所有的子标签对象

        for (Element element : list) {
            //element就是所有的子标签
            //获取id这个属性对象
            Attribute id = element.attribute("id");
            //得到这个id属性的值
            String value = id.getValue();

            //得到name的标签对象
            Element nameElements = element.element("name");
            //得到name标签的标签体内容
            String name = nameElements.getText();

            //得到age的标签对象
            Element ageElements = element.element("age");
            //获得age标签的标签体内容
            String age = ageElements.getText();


            //打印输出
//            System.out.println(value);
//            System.out.println(name);
//            System.out.println(age);

            Student student = new Student(value, name, Integer.parseInt(age));
            arrayList.add(student);
        }

        for (Student student : arrayList) {
            System.out.println(student);
        }

    }
}
